home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_vol_funicularcommies.cog < prev    next >
Text File  |  1999-11-15  |  6KB  |  226 lines

  1. # Jones 3D Cog Script
  2. #
  3. # VOL_Funicular.cog
  4. #
  5. # This cog will play the funicular puzzle area in Vol.
  6. #
  7. # [CM]
  8. #
  9. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  10. # ========================================================================================
  11.  
  12. symbols
  13.  
  14. #.......................MESSAGES....................
  15. message    startup
  16. message    entered
  17. message    sighted
  18. message    killed
  19.  
  20. #.......................ACTORS....................
  21. thing    player                                                    local
  22.  
  23. thing    ledge0                                                    local
  24. thing    ledge1                                                    local
  25. thing    ledge2                                                    local
  26.  
  27. #.......................ACTOR MV_TARGETS....................
  28. thing    ledgecommie_MIDmv0                                        # intermediate movetargs for commies 
  29. thing    ledgecommie_MIDmv1                                        # intermediate movetargs for commies
  30. thing    ledgecommie_MIDmv2                                        # intermediate movetargs for commies
  31.  
  32. thing    ledgecommie_mv0                                            # where ledge commies will move to
  33. thing    ledgecommie_mv1                                            # where ledge commies will move to
  34. thing    ledgecommie_mv2                                            # where ledge commies will move to
  35.  
  36. #.......................EVENT LOCATIONS....................
  37. thing    commiespot_targ                                    
  38. thing    commiecreate_spot                                    
  39.             
  40.  
  41. #.......................TRIGGERS....................
  42. surface    cratespot                            mask=0x80
  43. thing    crate                            
  44.  
  45. #.......................ENEMIES....................
  46. thing    ledgecommie0
  47. thing    ledgecommie1
  48. thing    ledgecommie2
  49.  
  50.  
  51. #.......................TEMPLATES....................
  52. template    fighter0=spetz_simonov                                local
  53. template    fighter1=khaki_simonov4                                local
  54. template    fighter2=jungle_simonov2                            local
  55.  
  56.  
  57. #.......................VARIABLES....................
  58. int        inthezone=0                                                   local
  59. ## int        commiespot=0                                            local
  60. int        commie_limit=0                                            local
  61. int        i                                                           local
  62.  
  63. flex    heretheycome                                            local
  64.  
  65. end
  66.  
  67. # ========================================================================================
  68. code
  69.  
  70. startup:
  71.     Sleep(.25);
  72.     
  73.     # get the player
  74.     player = GetLocalPlayerThing();
  75.     
  76.     for (i = 0; i <= 2; i = i + 1) 
  77.     {
  78.         SetThingFlags(ledgecommie0[i], 0x80000);
  79.         #AISetMode(commie0[i], 0x12040);        // Disable the AI, but make sure we still gat messages, and don't check for cliffs while moving.
  80.         AISetCutSceneMode(ledgecommie0[i]);
  81.     }
  82.  
  83. return;
  84.  
  85. # ========================================================================================
  86.  
  87. entered:
  88.  
  89. If ((GetSenderRef() == cratespot) && (GetSourceRef() == crate))
  90.     {
  91.         inthezone = 1;
  92.         ## if (commiespot == 1)
  93.         ##    {
  94.  
  95.             call heretheycome;
  96.  
  97.         ##    }
  98.     }
  99.  
  100. return;
  101.  
  102. # ========================================================================================
  103. ## sighted:
  104.  
  105. ##    If (GetSenderRef() != commiespot_targ) return;
  106. ##    If (commiespot != 0) return;
  107. ##    If (inthezone != 1) return;
  108.  
  109. heretheycome:
  110.     {
  111.         ## commiespot = 1;
  112.         for (i = 0; i <= 2; i = i + 1) 
  113.         {
  114.         ClearThingFlags(ledgecommie0[i], 0x80000);
  115.         }
  116.  
  117.         # move ledgecommie0 into position
  118.         AISetMoveSpeed(ledgecommie0, 2.0);
  119.         AISetLookThingEyeLevel(ledgecommie0, ledgecommie_mv0);
  120.         AISetMoveThing(ledgecommie0, ledgecommie_mv0, 0);
  121.  
  122.         # move ledgecommie1 into position
  123.         AISetMoveSpeed(ledgecommie1, 2.0);
  124.         AISetLookThingEyeLevel(ledgecommie1, ledgecommie_mv1);
  125.         AISetMoveThing(ledgecommie1, ledgecommie_mv1, 0);
  126.  
  127.         # move ledgecommie2 into position
  128.         AISetMoveSpeed(ledgecommie2, 2.0);
  129.         AISetLookThingEyeLevel(ledgecommie2, ledgecommie_mv2);
  130.         AISetMoveThing(ledgecommie2, ledgecommie_mv2, 1);
  131.  
  132.         for (i = 0; i <= 2; i = i + 1) 
  133.         {
  134.             AISetLookThingEyeLevel(ledgecommie0[i], player);
  135.             AIClearCutSceneMode(ledgecommie0[i]);
  136.             AISetFireTarget(ledgecommie0[i], player);
  137.         }
  138.  
  139.     }
  140.  
  141. return;
  142.  
  143. # ========================================================================================
  144. killed:
  145.  
  146.     commie_limit = commie_limit + 1;
  147.     If (commie_limit == 12) return;
  148.  
  149.     If ((GetSenderRef() == ledgecommie0) || (GetSenderRef() == ledge0))
  150.     {
  151.         # create commie and move him to the edge of the abyss
  152.         Sleep(2.0);
  153.         ledge0=CreateThing(fighter0, commiecreate_spot);
  154.         CaptureThing(ledge0);
  155.         AISetCutsceneMode(ledge0);
  156.         AISetMoveSpeed(ledge0, 2.0);
  157.         AISetLookThingEyeLevel(ledge0, ledgecommie_MIDmv0);
  158.         AISetMoveThing(ledge0, ledgecommie_MIDmv0, 1);
  159.         
  160.         AISetLookThingEyeLevel(ledge0, ledgecommie_mv0);
  161.         AISetMoveThing(ledge0, ledgecommie_MIDmv1, 1);
  162.         AISetMoveThing(ledge0, ledgecommie_MIDmv2, 1);
  163.         
  164.         AISetMoveThing(ledge0, ledgecommie_mv0, 1);
  165.         
  166.         # attack the player
  167.         AISetLookThingEyeLevel(ledge0, player);
  168.         AIClearCutSceneMode(ledge0);
  169.         AISetFireTarget(ledge0, player);
  170.     }
  171.  
  172.     
  173.     If ((GetSenderRef() == ledgecommie1) || (GetSenderRef() == ledge1))
  174.     {
  175.         # create commie and move him to the edge of the abyss
  176.         Sleep(2.0);
  177.         ledge1=CreateThing(fighter1, commiecreate_spot);
  178.         CaptureThing(ledge1);
  179.         AISetCutsceneMode(ledge1);
  180.         AISetMoveSpeed(ledge1, 2.0);
  181.         AISetLookThingEyeLevel(ledge1, ledgecommie_MIDmv0);
  182.         AISetMoveThing(ledge1, ledgecommie_MIDmv0, 1);
  183.         
  184.         AISetLookThingEyeLevel(ledge1, ledgecommie_mv1);
  185.         AISetMoveThing(ledge1, ledgecommie_MIDmv1, 1);
  186.         AISetMoveThing(ledge1, ledgecommie_MIDmv2, 1);
  187.         AISetMoveThing(ledge1, ledgecommie_mv1, 1);
  188.         
  189.         # attack the player
  190.         AISetLookThingEyeLevel(ledge1, player);
  191.         AIClearCutSceneMode(ledge1);
  192.         AISetFireTarget(ledge1, player);
  193.     }
  194.  
  195.     If ((GetSenderRef() == ledgecommie2) || (GetSenderRef() == ledge2))
  196.     {
  197.         # create commie and move him to the edge of the abyss
  198.         Sleep(2.0);
  199.         ledge2=CreateThing(fighter2, commiecreate_spot);
  200.         CaptureThing(ledge2);
  201.         AISetCutsceneMode(ledge2);
  202.         AISetMoveSpeed(ledge2, 2.0);
  203.         AISetLookThingEyeLevel(ledge2, ledgecommie_MIDmv0);
  204.         AISetMoveThing(ledge2, ledgecommie_MIDmv0, 1);
  205.         
  206.         AISetLookThingEyeLevel(ledge2, ledgecommie_mv2);
  207.         AISetMoveThing(ledge2, ledgecommie_MIDmv1, 1);
  208.         AISetMoveThing(ledge2, ledgecommie_MIDmv2, 1);
  209.         AISetMoveThing(ledge2, ledgecommie_mv2, 1);
  210.         
  211.         # attack the player
  212.         AISetLookThingEyeLevel(ledge2, player);
  213.         AIClearCutSceneMode(ledge2);
  214.         AISetFireTarget(ledge2, player);
  215.     }
  216.  
  217. return;
  218.  
  219. # ========================================================================================
  220.  
  221. end
  222.  
  223.  
  224.  
  225.  
  226.